#include "type.h"
#include "const.h"
#include "protect.h"
#include "proto.h"
#include "string.h"
#include "global.h"

public char* itoa(char *str, int num)
{
	char *p = str;
	
	char ch;
	// 循环变量
	int i;
	// 当flag=1时，说明前面已经有不为0的数字了。
	int flag = 0;
	
	*p++ = '0';
	*p++ = 'x';
	
	if (num == 0) {
		*p++ = '0';
		*p = 0;
		return str;
	}
	
	for (i = 28; i >= 0; i -= 4) 
	{
		ch = (num >> i) & 0xF;
		if (flag || (ch > 0)) {
			flag = 1;
			ch += '0';
			if (ch > '9') {
				ch += '7';
			}
			*p++ = ch;
		}
	}
	*p = 0;
	return str;
	
}

public void disp_int(int input)
{
	char output[16];
	itoa(output, input);
	disp_str(output);
}